package com.artevivo.utilidades;

import javax.annotation.Resource;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import com.artevivo.entidades.Especialidad;
import com.artevivo.services.EspecialidadService;

@FacesConverter("especialidadConverter")
public class EspecialidadConverter implements Converter {

    @Resource
    private EspecialidadService especialidadService;

    @Override
    public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
        if (value != null && value.trim().length() > 0) {
            Especialidad espe = new Especialidad();
            try {
                espe = especialidadService.obtenerEspecialidadPorID(Long.parseLong(value));
            } catch (NumberFormatException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return espe;
        } else {
            return null;
        }
    }

    @Override
    public String getAsString(FacesContext fc, UIComponent uic, Object object) {
        if (object != null) {
            return String.valueOf(((Especialidad) object).getNombre());
        } else {
            return null;
        }
    }
}
